home *** CD-ROM | disk | FTP | other *** search
/ ASME's Mechanical Engine…ing Toolkit 1997 December / ASME's Mechanical Engineering Toolkit 1997 December.iso / main_frm / sctut1.txt < prev    next >
Text File  |  1988-06-03  |  30KB  |  914 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.         ááááSUPERCOMPUTING TUTORIAL Part 1.        
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.              Thσá folowinτ i≤ ß basiπ overvie≈ oµ Supercomputinτ anΣ somσ ì
  17.         ááááthσ ke∙ issue≤ withiε thi≤ marke⌠ segment« I⌠ wa≤ writteε fo≥ ì
  18.         ááááthσá PC-LI┬ BB╙ Supercompute≥ SI╟ (612⌐ 435-255┤á locateΣá iε ì
  19.         ááááBurnsville¼á Minnesotß b∙ ZIDE╦ Inc« Thσ Supercompute≥ SI╟ i≤ ì
  20.         áááádevoteΣáá t∩áá al∞á aspect≤áá oµáá Supercomputing¼áá Compute≥ ì
  21.         ááááArchitecture¼áá Paralle∞áá Processinτáá anΣá Scientifiπáá anΣ ì
  22.         ááááEngineering Software.
  23.  
  24.         ááááZIDE╦ Inc« i≤ aε internationa∞ Supercompute≥ System≤ Service≤ ì
  25.         ááááand Consulting firm located at:
  26.  
  27.  
  28.         áááá               13195 Flamingo Court
  29.         áááá               Apple Valley, Minnesota 55124
  30.  
  31.         áááá               Telephone:    (612) 432-2835
  32.         áááá               FAX           (612) 432-4492
  33.         áááá               Telex║          910-576-0061.
  34.  
  35.         ááááThi≤ tex⌠ ma∙ bσ freel∙ distributeΣ withiε thσ publiπ domaiε ì
  36.         ááááfor educational purposes provideΣátha⌠ credi⌠ anΣ
  37.         ááááacknowledgemen⌠ bσ giveε t∩ theáauthors at ZIDEK Inc.
  38.  
  39.           
  40.  
  41.  
  42.         ááááCopyright ZIDEK Inc. 1987
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.              
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. è
  59.  
  60.                                         1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.             OVERVIEW  
  82.  
  83.             There are currently five manufacturers of supercomputers 
  84.             that have their products in the marketplace. These are the 
  85.             Cray X-MP, and Cray-2, CDC/ETA CYBER 205 and ETA-10, the 
  86.             Fujitsu VP, the Hitachi S810; and the NEC SX. All of these 
  87.             machines are vector processors; that is, a single computer 
  88.             instruction may be used to call in a large number of 
  89.             operands which then flow pair-wise through the one or more 
  90.             arithmetic units or pipelines where the specified  operation 
  91.             is executed in a segmented, parallel or overlapped fashion. 
  92.             Usually, the longer the length operand array (or vector) the 
  93.             greater the effectiveness per operation.
  94.  
  95.             However, in many cases users are faced with numerical 
  96.             problems that cannot easily be organized in a vectorized 
  97.             form or if they can, the vector length is very short. If 
  98.             this is true for any significant part of the computation, 
  99.             the overall performance slows to nearly the speed of a 
  100.             single processor, the so called scalar speed of the machine. 
  101.             This phenomena is often referred to as Amdahl's law. It is 
  102.             for this reason that computer users and designers stress the 
  103.             importance of fast scalar speed and frown on vector 
  104.             technology and promote parallel processing instead. With 
  105.             parallel processing, the problem is decomposed into a number 
  106.             of (possibly interacting) subproblems and these are spread 
  107.             among a plurality of closely coupled processors. In this 
  108.             case, the decomposition need not be done on a functional 
  109.             basis. But, if the problem cannot be broken into 
  110.             approximately equal independent segments, the maximum 
  111.             performance possible may not be sustainable in most designs.
  112.  
  113.             It is also generally true, that whenever the problem is such 
  114.             as to permit vector processing, it can in most cases be 
  115.             reformulated as a parallel problem. There are also cases 
  116.             where the problem cannot be vectorized, but is nevertheless 
  117.             highly parallel. What is needed is a computer capable of 
  118.             easily exploiting all the various forms of parallelism è
  119.  
  120.                                         2
  121.  
  122.  
  123.  
  124.             (including parallelism of the vector type) and which has the 
  125.             fastest possible scalar speed. Recognizing this, current 
  126.             supercomputer vendors are in a race to design, develop, and 
  127.             introduce systems in the next decade that will embody these 
  128.             desireable attributes.
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.                                         3
  182.  
  183.  
  184.  
  185.             When a program is transferred to a Cray (or other vector  
  186.             processing computers), the Fortran language compiler detects 
  187.             parallel portions and identifies those which can be 
  188.             expressed in vector form. These portions are executed by the 
  189.             vector unit; the rest (the scalar portion) of the program is 
  190.             executed by the sequential portion of the machine, which in 
  191.             most instances issues one instruction at a time.
  192.  
  193.             IBM¼á DEC¼á CDC¼á UNISY╙á anΣá othe≥ majo≥ manufacturer≤á arσ ì
  194.         ááááprovidinτ tw∩ t∩ eigh⌠ CPU≤ witΦ whicΦ t∩ experiment«á ELXSI¼ ì
  195.         ááááIntel¼á BBN¼á Multiflow¼á Ncube¼á Thinkinτ Machines¼ Floatinτ ì
  196.         ááááPoin⌠á Systems¼á anΣá othe≥á ne≈á start-u≡á smal∞á firm≤á arσ ì
  197.         áááábuildinτ system≤ witΦ eveε ß large≥ numbe≥ oµ CPU's« However¼ ì
  198.         áááánonσá oµá thesσ appea≥ t∩ bσ comparablσá iεá genera∞á overal∞ ì
  199.         ááááperformancσ t∩ curren⌠ supercomputers.
  200.  
  201.             There are only a few instances where any parallel processor 
  202.             systems are capable of being utilized in a highly effective 
  203.             way. This includes current supercomputers.
  204.  
  205.             Supercomputers primarily execute scientific and engineering 
  206.             programs; the overwhelming majority of these programs are 
  207.             written in the high level language Fortran. Typical users 
  208.             have thousands to hundreds of thousands of lines of existing 
  209.             Fortran code which they regularly execute. Additionally, the 
  210.             typical user regularly generates new programs (to solve new 
  211.             scientific or engineering problems). For these new problems, 
  212.             the language of choice for most of the users is Fortran, 
  213.             although the languages PASCAL, MODULA-2, ADA, and  "C" are 
  214.             gaining some recognition.
  215.  
  216.             Today, insufficient software exists for any of these systems 
  217.             to demonstrate their true capability. Vector processor 
  218.             software is far ahead of parallel processor software, but is 
  219.             still inadequate to demonstrate the full capability of the 
  220.             hardware. To date, very few programs have been written that 
  221.             achieve more than 50% of the vector or parallel processing 
  222.             capability. Little research work has gone into studying 
  223.             optimization of programs for highly parallel computer 
  224.             systems. The five current supercomputer manufacturers, 
  225.             however, offer Fortan vectorizers/optimizers which enable 
  226.             the user to interact with his program to provide for more 
  227.             effective program code.
  228.  
  229.             With respect to parallel supercomputing, there has been even 
  230.             less optimizing work done. Cray Research and ETA Systems are 
  231.             developing UNIX based systems that offer enhanced Fortran 
  232.             parallel processing features based on the ANSI 8X Standard 
  233.             for their new parallel supercomputer designs; Cray-2, 
  234.             Cray-XMP, Cray-YMP, Cray-3, ETA-10, and ETA-30 respectivily. 
  235.             Except for the recently announced HITACHI S-810-80, the 
  236.             Japanese vendors have not yet embraced parallel 
  237.             supercomputing in any forthcoming commercial design.
  238.  
  239.  
  240.  
  241.  
  242.                                         4
  243.  
  244.  
  245.  
  246.             Many of the basic technological advances which are expected 
  247.             in semiconductors, biotechnology, aircraft, nuclear power, 
  248.             etc. depend for their realization the availability of higher 
  249.             performance supercomputers. Consequently the hardware and 
  250.             software aspects of high performance computing are the focus 
  251.             of much research activity. There are at least 100 
  252.             experimental parallel processing projects throughout the 
  253.             world, mostly at universities. This research has identified 
  254.             a number of key questions which include:
  255.  
  256.             Hardware:
  257.  
  258.             o    What is the optimum interconnection method between 
  259.                  parallel processors?
  260.             o    Will synchronization costs be high?
  261.             o    How should parallelism be controlled?
  262.             o    Can hardware be built to support both fine-grained or 
  263.                  coarse-grained parallelism?
  264.             o    Can caching be synchronized or be made coherent for a 
  265.                  larger number of parallel processors?
  266.             o    What level of granularity will provide the most 
  267.                  efficient execution?
  268.             o    Can parallel architectures be extendible?
  269.  
  270.             Software:
  271.  
  272.             o    Can automatic software to parallelize existing programs 
  273.                  be developed?
  274.             o    Can existing languages support parallelism?
  275.             o    What is the optimum granularity?
  276.             o    How can algorithms and programs be mapped onto parallel 
  277.                  architectures?
  278.             o    What are general guidelines for developing parallel 
  279.                  algorithms or programs?
  280.             o    How does one debug a parallel processor?
  281.             o    How can an operating system support parallel 
  282.                  processing?
  283.  
  284.             All current commercially extant parallel processing systems 
  285.             have to one extent or another addressed only subsets of 
  286.             these issues in their respective designs.
  287.  
  288.             Interconnection
  289.  
  290.             The interconnection method affects speed and generality. It 
  291.             affects the speed of a parallel processor because an 
  292.             inadequate interconnection can create a bottleneck which 
  293.             slows down computation. It affects generality because some 
  294.             interconnection structures are well adapted to certain 
  295.             computations but are poorly structured for others.
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.                                         5
  304.  
  305.  
  306.  
  307.             Control of Parallelism
  308.  
  309.             There are two basic control philosophies: static and 
  310.             dynamic. Static resource allocation requires a detailed 
  311.             analysis of the computation, prior to execution.  Such an 
  312.             analysis is only available for a few specialized programs  
  313.             and we are not aware that it can be achieved today by 
  314.             compilers or other software in the general case. Dynamic 
  315.             resource allocation has classically been achieved in 
  316.             multiprocessors by the operating system. In theory, this 
  317.             approach has general applicability. In practice it is not 
  318.             particularly useful in speeding up a single large 
  319.             computation, because the operating systems tend to introduce 
  320.             high overhead.
  321.  
  322.             Granularity
  323.  
  324.             Some research approaches (eg. data flow) generally tend to 
  325.             deal only with the parallelism in which elementary 
  326.             operations such as add or multiply are considered 
  327.             (fine-grained parallelism). Other approaches (eg. 
  328.             multiprocessors such as the 4 processor Cray XMP or the 
  329.             ETA10  can exploit parallelism only when the problem can be 
  330.             decomposed into large, essentially independent 
  331.             subcomputations (course grained parallelism).
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.                                         6
  365.  
  366.  
  367.  
  368.             Cache
  369.  
  370.             Many designs employ cache memories to compensate for 
  371.             relatively low performance interconnection designs or slow 
  372.             main memory systems. This type of structure introduces the 
  373.             coherency problem in which the data in different caches is 
  374.             inconsistant. In the absence of cache, high performance 
  375.             interconnection structures and fast main memory are 
  376.             essential. 
  377.  
  378.             Level of Granularity
  379.  
  380.             Different research machines are effective at different 
  381.             levels of granularity, and consequently the research 
  382.             community has addressed the problems of which level of 
  383.             granularity is most efficient.
  384.  
  385.             Extensibility
  386.  
  387.             There is a widespread belief that applications of the future 
  388.             will require hundreds or thousands of times the computing 
  389.             power currently available. Moreover it is thought that these 
  390.             applications will be highly ammenable to parallel processing 
  391.             of some form. It is therefore desirable to have an 
  392.             architecture which can be extended to very large designs 
  393.             utilizing hundreds, thousands or millions of processors. 
  394.             Such an architecture could be used whenever the price of 
  395.             components decrease or as soon as customers are willing to 
  396.             pay higher prices for larger machines. 
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.                                         7
  426.  
  427.  
  428.  
  429.             Automatic parallelization
  430.  
  431.             Supercomputers users have an enormous investment in 
  432.             application programs, which must be protected. These 
  433.             programs are mostly written in Fortran. Unfortunately there 
  434.             can be no compiler which can make Fortran code highly 
  435.             parallel throughout the computation. A Fortran program is 
  436.             sometimes parallel and sometimes not. For this reason, the 
  437.             research and special purpose machines perform comparatively 
  438.             poorly on run of the mill Fortran programs. Because of their 
  439.             fast scalar speed, current supercomputers show very high 
  440.             performance for program segments which do not contain much 
  441.             parallelism. Compilers have been in use for some time which 
  442.             identify the parallelism available in Fortran programs. 
  443.             These compilers have been used for vector processing 
  444.             supercomputers as well as multiprocessors, such as Alliant. 
  445.             Also available are Fortran pre-processors, such Pacific 
  446.             Sierra's VAST and Kuck & Associates' KAP.
  447.  
  448.             Existing Languages to support Parallelism
  449.  
  450.             Because ordinary Fortran programs are usually not suitable 
  451.             for research machines, some researchers have argued that 
  452.             special languages, such as ID, OCCAM, SISAL, VAL, etc. might 
  453.             be used to generate more parallelism, and perhaps enough to 
  454.             achieve high performance. Unfortunately, these efforts are 
  455.             as rule not applicable to the mainstream supercomputer 
  456.             market, because the users are, at this time, either unable 
  457.             to afford or unwilling to rewrite existing application 
  458.             programs.
  459.  
  460.             Optimum granularity
  461.  
  462.             For most parallel architecture implementations, the 
  463.             programmer must adjust the granularity to suit the 
  464.             implementation.
  465.  
  466.             Mapping
  467.  
  468.             In many research machines, performance depends critically on 
  469.             which sections of program code are assigned to which 
  470.             processors, on which segments of data are assigned to which 
  471.             memory units and similar issues. These issues are 
  472.             collectivily known as the mapping problem. The challenge for 
  473.             the programmer using vector or parallel machines is to 
  474.             devise algorithms and arrange the computations so that the 
  475.             architectural features of a particular machine are fully 
  476.             utilized. General purpose machines are generally less likely 
  477.             to  demand this kind of mapping to achieve high performance.
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.                                         8
  487.  
  488.  
  489.  
  490.             Guidelines for developing parallel algorithms
  491.  
  492.             As applications migrate to parallel computers, a central 
  493.             questions becomes how algorithms should be written to 
  494.             exploit parallelism. Forcing the algorithm designer or 
  495.             programmer to figure out and program explicit parallel 
  496.             control and synchronization is recognized as not being the 
  497.             best approach. Explicit hand-coded algorithms introduce a 
  498.             new level of complexity, complicates debugging by 
  499.             introducing time-dependent errors, and can reduce 
  500.             portability and robustness of algorithms by forcing the 
  501.             recoding of programs for each different model of parallel 
  502.             computer, and in some cases for the same computer, as 
  503.             individual processors are added or removed for repair. 
  504.             Unfortunately, inspite of massive worldwide research, no 
  505.             general unifying principles for parallel processing have yet 
  506.             been discovered.
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.                                         9
  548.  
  549.  
  550.  
  551.             Debugging
  552.  
  553.             Debugging parallel algorithms is a difficult task indeed, 
  554.             because of the intrinsic susceptibility of time-dependent 
  555.             errors. Programmers dealing with real time events and 
  556.             operating systems have been wrestling with the problems 
  557.             since the beginning of the computer age. Undoubtedly this 
  558.             will continue to be a problem. Even in the absence of 
  559.             general unifying principles of parallel processing, it is a 
  560.             problem that is difficult for all supercomputer vendors; and 
  561.             all are devoting considerable resources to develop workable 
  562.             debugging support programs.
  563.  
  564.             Operating System Support
  565.  
  566.             Many but not all multiprocessors use the operating system to 
  567.             support parallelism. It seems to be a major problem to 
  568.             prevent overheads from cancelling the benefits of 
  569.             parallelism, when the operating system is used in this way. 
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.                                        10
  609.  
  610.  
  611.  
  612.             The Market
  613.  
  614.             Cray Research currently dominates the supercomputer market, 
  615.             with approximately 63 percent of the worldwide installed 
  616.             base. The market is characterized by an increasing 
  617.             recognition of computer simulation or modeling as a highly 
  618.             productive alternative to traditional experimental 
  619.             engineering techniques such as prototype construction. The 
  620.             market has been broadened by continuing price/performance 
  621.             improvements and deepened by an increasing appetite for more 
  622.             and more simulation.
  623.  
  624.             Supercomputers are used in applications such as 
  625.             environmental forecasting, aerodynamics, structural 
  626.             analysis, nuclear research, computational physics, 
  627.             astronomy, chemical engineering, fluid dynamics, molecular 
  628.             science, image processing, graphics, electronic circuit 
  629.             design, and combustion analysis.
  630.  
  631.             The supercomputer market includes both government and 
  632.             commercial sectors. U.S. Government laboratories and 
  633.             agencies have been the historic testing grounds for 
  634.             large-scale, innovative computers. They are the principle 
  635.             targets for supercomputer systems. The U.S. Government 
  636.             sector has a shorter selling cycle than the commercial 
  637.             sector. U.S. Government installations have grown at a 
  638.             compound rate of 37.3% over the last five years.
  639.  
  640.             The rapidly developing commercial sector exists because of 
  641.             dramatic price/performance improvements in supercomputers 
  642.             during the last decade, the learning curve generally 
  643.             experienced in the utilization of these systems, and because 
  644.             recently hired university graduates that have used 
  645.             supercomputers demand the fastest computers when they enter 
  646.             industry. Commercial sector selling cycles can range from 
  647.             six months to four years. Installations in the commercial 
  648.             sector have grown at a compound rate of 47.3% over the last 
  649.             five years.
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.                                        11
  670.  
  671.  
  672.  
  673.             Mini-supercomputers
  674.  
  675.             The term is a misnomer. It could mean a physically small 
  676.             supercomputer or, as it is used in the trade media, defines 
  677.             computers that are less powerful than supercomputers. This 
  678.             is also contradictory because the term supercomputers is 
  679.             defined by authoritative sources as being "the most powerful 
  680.             computers in any given point in time". In technical 
  681.             publications, marketing literature, and general news media, 
  682.             other terms that describe this market segment are such terms 
  683.             as "Near", "Entry", and "affordable" supercomputers and such 
  684.             variants as "crayettes" and "personal".
  685.  
  686.             There is also a growing tendency to attach the label 
  687.             "supercomputer" to almost any machine that employs vector, 
  688.             multiprocessing or parallel computing architectural concepts 
  689.             in its design.
  690.  
  691.             Also seen are frequent references to architectures, 
  692.             particularly those employing parallel processing and 
  693.             dataflow techniques to the artificial intelligence domain as 
  694.             supercomputers. Such "super intelligent" machines will no 
  695.             doubt depend on many of the same technologies as 
  696.             supercomputers, from both the architectural and device 
  697.             technology point of view. But, in our opinion, at this point 
  698.             in their development they are not powerful enough to be 
  699.             included in the supercomputer category.
  700.  
  701.             Some array processors are capable, in a highly restricted 
  702.             range of applications, of achieving performance comparable 
  703.             to that of supercomputers, but these cannot be categorized 
  704.             as supercomputers because of their lack of general purpose 
  705.             supercomputer capability across a broad spectrum of 
  706.             applications.
  707.  
  708.             Therefore these machines are not directly competitive with 
  709.             supercomputers since these products have substantially lower 
  710.             performance, much smaller memories, etc. This distinction is 
  711.             also inherent: the cost of manufacture of a typical 
  712.             supercomputer is several times the average selling price of 
  713.             the typical mini-supercomputer.
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.                                        12
  731.  
  732.  
  733.  
  734.             This segment of the computer market is growing very rapidly 
  735.             and there seems little doubt that some of the participants 
  736.             will continue to grow, for the time being. While it might be 
  737.             thought that this growth might erode supercomputer sales, 
  738.             statistics, market research and our own experiences do not 
  739.             support this view. It is more likely that the success of 
  740.             "mini-supercomputers"  will foster new applications in 
  741.             scientific and engineering much as DEC's VAX has. This in 
  742.             turn will drive a larger demand for supercomputers.
  743.  
  744.             The major strength of this group of competitors is 
  745.             price/performance advantages over minicomputer and 
  746.             departmental-level scientific and engineering computing. The 
  747.             group is actually composed of two distinct sub-groups; those 
  748.             that offer compatibility with current Supercomputers i.e. 
  749.             Cray, on either a total Operating System basis or on a 
  750.             Fortran compiler basis, and those that are incompatible with 
  751.             Supercomputers and manifest new architectural and software 
  752.             innovations.  Virtually all are supporting the UNIX 
  753.             Operating System Environment.
  754.  
  755.             The subgroup that offers Supercomputer software 
  756.             compatibility can exploit the large collection of Scientific 
  757.             and Engineering Applications Software that has already been 
  758.             developed and vectorized. Therefore, by insuring 
  759.             compatibility, applications software development is 
  760.             minimized for these vendors. 
  761.             
  762.             The other subgroup comprising this market are the 
  763.             non-compatibles.  Because of frantic competition not only 
  764.             with entrenched vendors and others within this segment, the 
  765.             group is perhaps one of the most innovative. One of the most 
  766.             promising of these, Alliant, has a very innovative parallel 
  767.             and vector processor architecture and a Fortran Compiler 
  768.             that supports both automatic vectorization and automatic 
  769.             parallelization.
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.                                        13
  792.  
  793.  
  794.  
  795.             Other examples of innovative design include: Intel's iSPC 
  796.             System based on the Stanford Univ. Cosmic Cube Architecture 
  797.             (Ncube and FPS are also building variants of this design).  
  798.             Culler Scientific and Multiflow is offering a system based 
  799.             on a VLIW (Very long instruction word) design similar to 
  800.             CDC's Cyberplus system.  Elxsi is offering a multi parallel 
  801.             processing system based on a very fast interprocessor system 
  802.             bus architecture, and many others are building machines that 
  803.             utilize hundreds and in some cases thousands of micro 
  804.             processors.
  805.  
  806.             Both groups offer systems with claimed superior 
  807.             price/performance in the under $500k scientific/engineering 
  808.             minicomputer market.
  809.  
  810.             Compared to large-scale general purpose Scientific Systems  
  811.             the major weakness of most of these systems is system 
  812.             throughput and robust system software.  Most are depending 
  813.             either on the UNIX market or the Supercomputer applications 
  814.             software market to fill the software void.
  815.  
  816.             Another major weakness in this group is that most of the 
  817.             entrants do not have adequate financial resources and 
  818.             mature, marketing, sales, distribution, services and 
  819.             corporate management infra-structures to compete massively 
  820.             in both domestic and international markets against 
  821.             established major vendors.
  822.  
  823.             The incompatible and esoteric designs will encounter the key 
  824.             bottlenecks: amount of old software and applications base 
  825.             that can be converted to use "parallelism".
  826.  
  827.             Existing minicomputer suppliers will have to respond to 
  828.             price/performance pressure; parallel architecture is not the 
  829.             only way.
  830.  
  831.             The history of esoteric non-von Neumann architectures is 
  832.             full of failed attempts at commercialization.
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.                                        14
  853.  
  854.  
  855.  
  856.             Outlook and Conclusion
  857.  
  858.             The market has now has been estimated by many sources to be 
  859.             in excess of $1 Billion worldwide, and at its current growth 
  860.             rate may reach $2 Billion in the early 1990 time frame. 
  861.  
  862.             1)   Architecture
  863.  
  864.                  Parallel architecture is generally agreed to be the 
  865.                  next step in higher performance supercomputing. Cray, 
  866.                  ETA, Supercomputers Inc., and other competitors are all 
  867.                  developing parallel supercomputers. 
  868.  
  869.             2)   Software
  870.  
  871.                  A successful entry into the supercomputer market 
  872.                  requires a software system compatible with the existing 
  873.                  user environment, which permits not only new 
  874.                  applications but also protects the users with large 
  875.                  investments in software.
  876.  
  877.  
  878.             
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.                                        15
  914.